<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Library Evolutionary Algorithms for Clustering (LEAC): gaclusteringop Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="leac_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Library Evolutionary Algorithms for Clustering (LEAC)
   &#160;<span id="projectnumber">Version 1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">gaclusteringop Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Genetic cluster-oriented operators.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a182c10ea30b952abe8b98ae7e83f6938"><td class="memTemplParams" colspan="2">template&lt;typename T_FEATURE , typename T_REAL &gt; </td></tr>
<tr class="memitem:a182c10ea30b952abe8b98ae7e83f6938"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgaencode_1_1_chrom_variable_length.html">gaencode::ChromVariableLength</a>&lt; T_FEATURE, T_REAL &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a182c10ea30b952abe8b98ae7e83f6938">newChromosome</a> (<a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE &gt; &amp;aimatrixrowt_minMaxKSegments, T_REAL airt_fitnessInitial, T_REAL airt_objetiveInitial)</td></tr>
<tr class="memdesc:a182c10ea30b952abe8b98ae7e83f6938"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new chromosome <a class="el" href="citelist.html#CITEREF_He:Tan:GAclusteringVarK:TGCA:2012">[18]</a>.  <a href="#a182c10ea30b952abe8b98ae7e83f6938">More...</a><br /></td></tr>
<tr class="separator:a182c10ea30b952abe8b98ae7e83f6938"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ecbd55894b1ddbc7bf49a22df7cde00"><td class="memTemplParams" colspan="2">template&lt;typename T_FEATURE , typename T_CLUSTERIDX , typename T_INSTANCE_FREQUENCY , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename T_REAL , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a3ecbd55894b1ddbc7bf49a22df7cde00"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a3ecbd55894b1ddbc7bf49a22df7cde00">merge</a> (<a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;aiochromcbga_offspring, <a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;aiochromcbga_part1, <a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;aiochromcbga_part2, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="memdesc:a3ecbd55894b1ddbc7bf49a22df7cde00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merge two chomosomas.  <a href="#a3ecbd55894b1ddbc7bf49a22df7cde00">More...</a><br /></td></tr>
<tr class="separator:a3ecbd55894b1ddbc7bf49a22df7cde00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e44d7c579743d81b7f23d0c09e4414"><td class="memTemplParams" colspan="2">template&lt;typename T_FEATURE , typename T_INSTANCE_FREQUENCY , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename T_CLUSTERIDX , typename T_REAL , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a08e44d7c579743d81b7f23d0c09e4414"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a08e44d7c579743d81b7f23d0c09e4414">crossPNNnew</a> (<a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;aochromcbga_new, <a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;aichromcbga_old1, <a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;aichromcbga_old2, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, const T_CLUSTERIDX aicidx_numclusterKToReduce, const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="separator:a08e44d7c579743d81b7f23d0c09e4414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50fa9f176df103b249d767838b5a044c"><td class="memTemplParams" colspan="2">template&lt;typename T_GENE , typename T_METRIC &gt; </td></tr>
<tr class="memitem:a50fa9f176df103b249d767838b5a044c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a50fa9f176df103b249d767838b5a044c">onePointCrossover</a> (<a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html">gaencode::ChromosomeMatrixWithRowNull</a>&lt; T_GENE, T_METRIC &gt; &amp;aiochrommwrn_child1, <a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html">gaencode::ChromosomeMatrixWithRowNull</a>&lt; T_GENE, T_METRIC &gt; &amp;aiochrommwrn_child2)</td></tr>
<tr class="separator:a50fa9f176df103b249d767838b5a044c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc19797156931b073030d9a58175d0c9"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_METRIC &gt; </td></tr>
<tr class="memitem:abc19797156931b073030d9a58175d0c9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_METRIC &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#abc19797156931b073030d9a58175d0c9">mergeCrossover</a> (<a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_METRIC &gt; &amp;aichrom_parent1, <a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_METRIC &gt; &amp;aichrom_parent2)</td></tr>
<tr class="memdesc:abc19797156931b073030d9a58175d0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">mergeCrossover <a class="el" href="citelist.html#CITEREF_Agustin:etal:GAclusteringVarK:GGA:2012">[1]</a>  <a href="#abc19797156931b073030d9a58175d0c9">More...</a><br /></td></tr>
<tr class="separator:abc19797156931b073030d9a58175d0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c9d8a0cc06ff5663e3fb5c186e852cd"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a5c9d8a0cc06ff5663e3fb5c186e852cd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a5c9d8a0cc06ff5663e3fb5c186e852cd">crossoverCGA</a> (<a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aochrom_childC, <a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aichrom_parentA, <a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aichrom_parentB, <a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE &gt; &amp;aomatrixrowt_centroids, <a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE_SUM &gt; &amp;aomatrixrowt_sumInstCluster, std::vector&lt; T_INSTANCES_CLUSTER_K &gt; &amp;aovectort_numInstClusterK, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="separator:a5c9d8a0cc06ff5663e3fb5c186e852cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a935f199f5ca932fbaa301198fcc563f9"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL &gt; </td></tr>
<tr class="memitem:a935f199f5ca932fbaa301198fcc563f9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a935f199f5ca932fbaa301198fcc563f9">splittingMutation</a> (<a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aiochromab_toMutate)</td></tr>
<tr class="memdesc:a935f199f5ca932fbaa301198fcc563f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutation by cluster splitting <a class="el" href="citelist.html#CITEREF_Agustin:etal:GAclusteringVarK:GGA:2012">[1]</a>.  <a href="#a935f199f5ca932fbaa301198fcc563f9">More...</a><br /></td></tr>
<tr class="separator:a935f199f5ca932fbaa301198fcc563f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53fa1eea7173c38da2ce171f83b0d464"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL &gt; </td></tr>
<tr class="memitem:a53fa1eea7173c38da2ce171f83b0d464"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a53fa1eea7173c38da2ce171f83b0d464">mergeMutation</a> (<a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aiochromab_toMutate)</td></tr>
<tr class="separator:a53fa1eea7173c38da2ce171f83b0d464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa952213684dbb755ec6d44b3c783f60"><td class="memTemplParams" colspan="2">template&lt;typename T_FEATURE , typename T_REAL &gt; </td></tr>
<tr class="memitem:aaa952213684dbb755ec6d44b3c783f60"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#aaa952213684dbb755ec6d44b3c783f60">randomMutation</a> (<a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html">gaencode::ChromosomeMatrixWithRowNull</a>&lt; T_FEATURE, T_REAL &gt; &amp;aiochromatrixwrn_toMutate)</td></tr>
<tr class="memdesc:aaa952213684dbb755ec6d44b3c783f60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random mutation <a class="el" href="citelist.html#CITEREF_Bandyopadhyay:Maulik:GACVarK:GCUK:2002">[5]</a>.  <a href="#aaa952213684dbb755ec6d44b3c783f60">More...</a><br /></td></tr>
<tr class="separator:aaa952213684dbb755ec6d44b3c783f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf115dc68f58f8d8fdb72e7c679766c3"><td class="memTemplParams" colspan="2">template&lt;typename T_GENE , typename T_METRIC &gt; </td></tr>
<tr class="memitem:abf115dc68f58f8d8fdb72e7c679766c3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#abf115dc68f58f8d8fdb72e7c679766c3">biDirectionHMutation</a> (<a class="el" href="classgaencode_1_1_chromosome_string.html">gaencode::ChromosomeString</a>&lt; T_GENE, T_METRIC &gt; &amp;aiochromstr_toMutate, const T_METRIC airt_minObjetiveFunc, const T_METRIC airt_maxObjetiveFunc, const T_GENE *aiarrayt_minFeatures, const T_GENE *aiarrayt_maxFeatures)</td></tr>
<tr class="memdesc:abf115dc68f58f8d8fdb72e7c679766c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">biDirectionHMutation <a class="el" href="citelist.html#CITEREF_Bandyopadhyay:Maulik:GAclustering:KGA:2002">[4]</a>  <a href="#abf115dc68f58f8d8fdb72e7c679766c3">More...</a><br /></td></tr>
<tr class="separator:abf115dc68f58f8d8fdb72e7c679766c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefe966c20e6bd3d44f0621349782cb91"><td class="memTemplParams" colspan="2">template&lt;typename T_FEATURE , typename T_REAL &gt; </td></tr>
<tr class="memitem:aefe966c20e6bd3d44f0621349782cb91"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#aefe966c20e6bd3d44f0621349782cb91">biDirectionMutation</a> (<a class="el" href="classgaencode_1_1_chromosome_string.html">gaencode::ChromosomeString</a>&lt; T_FEATURE, T_REAL &gt; &amp;aiochromstr_toMutate, const T_FEATURE *aiarrayt_minFeatures, const T_FEATURE *aiarrayt_maxFeatures)</td></tr>
<tr class="separator:aefe966c20e6bd3d44f0621349782cb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b1581a21d20dc38bb0896acaf380f1"><td class="memTemplParams" colspan="2">template&lt;typename T_CENTROIDS , typename T_REAL &gt; </td></tr>
<tr class="memitem:a68b1581a21d20dc38bb0896acaf380f1"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a68b1581a21d20dc38bb0896acaf380f1">rearrangedCluster</a> (<a class="el" href="classgaencode_1_1_chromosome_string.html">gaencode::ChromosomeString</a>&lt; T_CENTROIDS, T_REAL &gt; &amp;aochrom_YRearranged, const <a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_CENTROIDS &gt; &amp;aimatrixrowt_XReferenced, const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_CENTROIDS &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="memdesc:a68b1581a21d20dc38bb0896acaf380f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rearranged cluster <a class="el" href="citelist.html#CITEREF_Chang:etal:GAclustering:GAGR:2009">[11]</a>.  <a href="#a68b1581a21d20dc38bb0896acaf380f1">More...</a><br /></td></tr>
<tr class="separator:a68b1581a21d20dc38bb0896acaf380f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a394e5de28006937d308d2659683c2cc6"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename T_COMMON_IDOMAIN , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a394e5de28006937d308d2659683c2cc6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a394e5de28006937d308d2659683c2cc6">kmeansfeac</a> (<a class="el" href="classgaencode_1_1_chromosome_f_e_a_c.html">gaencode::ChromosomeFEAC</a>&lt; T_CLUSTERIDX, T_REAL, T_FEATURE, T_FEATURE_SUM, T_INSTANCES_CLUSTER_K &gt; &amp;aochrom_feac, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, T_COMMON_IDOMAIN aiit_kmeansNumMaxIter, T_FEATURE airt_kmeansMaxDiffCent, <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="separator:a394e5de28006937d308d2659683c2cc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76027f1493ad07ff92bdee8e07d05b15"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a76027f1493ad07ff92bdee8e07d05b15"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a76027f1493ad07ff92bdee8e07d05b15">MO1</a> (<a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aiochromfixlen_toMutate, <a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE &gt; &amp;aomatrixrowt_centroids, <a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE_SUM &gt; &amp;aomatrixrowt_sumInstCluster, std::vector&lt; T_INSTANCES_CLUSTER_K &gt; &amp;aovectort_numInstClusterK, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="memdesc:a76027f1493ad07ff92bdee8e07d05b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">MO1 mutation operator <a class="el" href="citelist.html#CITEREF_Hruschka:Ebecken:GAClusteringLabelKVar:CGA:2003">[19]</a>.  <a href="#a76027f1493ad07ff92bdee8e07d05b15">More...</a><br /></td></tr>
<tr class="separator:a76027f1493ad07ff92bdee8e07d05b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c99bd6485c6e3a0daf93aa53a97edb9"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a3c99bd6485c6e3a0daf93aa53a97edb9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a3c99bd6485c6e3a0daf93aa53a97edb9">MO2</a> (<a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;aiochromfixlen_toMutate, const INPUT_ITERATOR aiiterator_instfirst, const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="separator:a3c99bd6485c6e3a0daf93aa53a97edb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25119300c021923151df355bba35df29"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_FEATURE_SUM , typename T_INSTANCES_CLUSTER_K , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a25119300c021923151df355bba35df29"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a25119300c021923151df355bba35df29">MO1</a> (<a class="el" href="classgaencode_1_1_chromosome_f_e_a_c.html">gaencode::ChromosomeFEAC</a>&lt; T_CLUSTERIDX, T_REAL, T_FEATURE, T_FEATURE_SUM, T_INSTANCES_CLUSTER_K &gt; &amp;aochromfeac_toMutate, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="separator:a25119300c021923151df355bba35df29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90288f6cdf4cbf406d1d5a71080adff1"><td class="memTemplParams" colspan="2">template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_FEATURE_SUM , typename T_INSTANCES_CLUSTER_K , typename INPUT_ITERATOR &gt; </td></tr>
<tr class="memitem:a90288f6cdf4cbf406d1d5a71080adff1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegaclusteringop.html#a90288f6cdf4cbf406d1d5a71080adff1">MO2</a> (<a class="el" href="classgaencode_1_1_chromosome_f_e_a_c.html">gaencode::ChromosomeFEAC</a>&lt; T_CLUSTERIDX, T_REAL, T_FEATURE, T_FEATURE_SUM, T_INSTANCES_CLUSTER_K &gt; &amp;aochromfeac_toMutate, INPUT_ITERATOR aiiterator_instfirst, const INPUT_ITERATOR aiiterator_instlast, <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;aifunc2p_dist)</td></tr>
<tr class="separator:a90288f6cdf4cbf406d1d5a71080adff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Genetic cluster-oriented operators. </p>
<p>Cluster-oriented operators mean the operators that are task-dependent, such as operators that copy, split, merge, and eliminate clusters of data objects, in contrast to conventional evolutionary operators that just exchange or switch bits without any regard to their task-dependent meaning <a class="el" href="citelist.html#CITEREF_Hruschka:etal:GAclustering:survey:2009">[22]</a></p>
<dl class="section version"><dt>Version</dt><dd>1.0 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2015-2017 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>GPLv3 license </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="abf115dc68f58f8d8fdb72e7c679766c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf115dc68f58f8d8fdb72e7c679766c3">&#9670;&nbsp;</a></span>biDirectionHMutation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_GENE , typename T_METRIC &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::biDirectionHMutation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_string.html">gaencode::ChromosomeString</a>&lt; T_GENE, T_METRIC &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromstr_toMutate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_METRIC&#160;</td>
          <td class="paramname"><em>airt_minObjetiveFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_METRIC&#160;</td>
          <td class="paramname"><em>airt_maxObjetiveFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_GENE *&#160;</td>
          <td class="paramname"><em>aiarrayt_minFeatures</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_GENE *&#160;</td>
          <td class="paramname"><em>aiarrayt_maxFeatures</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>biDirectionHMutation <a class="el" href="citelist.html#CITEREF_Bandyopadhyay:Maulik:GAclustering:KGA:2002">[4]</a> </p>
<p>The mutation does the following </p><p class="formulaDsp">
<img class="formulaDsp" alt="\[ \hbox{mutate}(g_{jl}) = \cases{ g_{jl} + \delta \times ( \hbox{max}(x_l) - g_{jl}) &amp;\quad if $ \delta \geq 0 $, for $j= 1,2,..,k$ and $l= 1,2,...d$, \cr g_{jl} + \delta \times (g_{jl} - \hbox{min}(x_l)) &amp;\quad if $ \delta &lt; 0 $. \cr } \]" src="form_16.png"/>
</p>
<p> Where <img class="formulaInl" alt="$\delta$" src="form_13.png"/> is a random number in the interval <img class="formulaInl" alt="$[-R,+R]$" src="form_17.png"/>: </p><p class="formulaDsp">
<img class="formulaDsp" alt="\[ R = \cases{ M - M_{min} \over M_{max} - M_{min} &amp;\quad if $ M_{max} &gt; M $, \cr 1 &amp;\quad if $ M_{min} = M_{max} $. \cr } \]" src="form_18.png"/>
</p>
<p> <img class="formulaInl" alt="$M_{min}$" src="form_19.png"/> and <img class="formulaInl" alt="$M_{max}$" src="form_20.png"/> be the minimum and maximum values of the clustering metric, respectively, in the current population. <img class="formulaInl" alt="$M$" src="form_21.png"/> is the clustering metric value of the current chromosome that must be mutated. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aiochromstr_toMutate</td><td>a <a class="el" href="classgaencode_1_1_chromosome_string.html" title="Chhromosome String define Chromosome encode for an string.">gaencode::ChromosomeString</a> chromosome to mutate </td></tr>
    <tr><td class="paramname">airt_minObjetiveFunc</td><td>a real number with the minimum value of the objective function of the current population </td></tr>
    <tr><td class="paramname">airt_maxObjetiveFunc</td><td>a real number with the maximum value of the objective function of the current population </td></tr>
    <tr><td class="paramname">aiarrayt_minFeatures</td><td>an array with the minimum values of the dataset instances </td></tr>
    <tr><td class="paramname">aiarrayt_maxFeatures</td><td>an array with the maximum values of the dataset instances</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The authors of this operator do not assign a specific name for this, here it is called <a class="el" href="namespacegaclusteringop.html#abf115dc68f58f8d8fdb72e7c679766c3" title="biDirectionHMutation">gaclusteringop::biDirectionHMutation</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01209">1209</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="interface__level1_8hpp_source.html#l00386">interfacesse::aasxpa()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00420">interfacesse::aysxpy()</a>, <a class="el" href="datatype__instance__integer_8hpp_source.html#l00040">DATATYPE_REAL</a>, <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="chromosome__base_8hpp_source.html#l00113">gaencode::ChromosomeBase&lt; T_METRIC &gt;::getObjetiveFunc()</a>, <a class="el" href="classgaencode_1_1_chromosome_string.html#a95cc85a28caac393e63c98c6c1f3cde2">gaencode::ChromosomeString&lt; T_GENE, T_METRIC &gt;::getString()</a>, <a class="el" href="classgaencode_1_1_chromosome_string.html#a53164831ecb42560c000f529dcccf4c6">gaencode::ChromosomeString&lt; T_GENE, T_METRIC &gt;::getStringSize()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, and <a class="el" href="chromosome__base_8hpp_source.html#l00131">gaencode::ChromosomeBase&lt; T_METRIC &gt;::print()</a>.</p>

<p class="reference">Referenced by <a class="el" href="gagr__fkcentroid_8hpp_source.html#l00070">eac::gagr_fkcentroid()</a>, and <a class="el" href="kga__fkcentroid_8hpp_source.html#l00072">eac::kga_fkcentroid()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_abf115dc68f58f8d8fdb72e7c679766c3_cgraph.svg" width="472" height="402"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="aefe966c20e6bd3d44f0621349782cb91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefe966c20e6bd3d44f0621349782cb91">&#9670;&nbsp;</a></span>biDirectionMutation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_FEATURE , typename T_REAL &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::biDirectionMutation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_string.html">gaencode::ChromosomeString</a>&lt; T_FEATURE, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromstr_toMutate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_FEATURE *&#160;</td>
          <td class="paramname"><em>aiarrayt_minFeatures</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_FEATURE *&#160;</td>
          <td class="paramname"><em>aiarrayt_maxFeatures</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01359">1359</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="classgaencode_1_1_chromosome_string.html#a95cc85a28caac393e63c98c6c1f3cde2">gaencode::ChromosomeString&lt; T_GENE, T_METRIC &gt;::getString()</a>, <a class="el" href="classgaencode_1_1_chromosome_string.html#a53164831ecb42560c000f529dcccf4c6">gaencode::ChromosomeString&lt; T_GENE, T_METRIC &gt;::getStringSize()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, and <a class="el" href="chromosome__base_8hpp_source.html#l00131">gaencode::ChromosomeBase&lt; T_METRIC &gt;::print()</a>.</p>

<p class="reference">Referenced by <a class="el" href="tgca__vkcentroid_8hpp_source.html#l00176">eac::tgca_vkcentroid()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_aefe966c20e6bd3d44f0621349782cb91_cgraph.svg" width="472" height="235"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a5c9d8a0cc06ff5663e3fb5c186e852cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c9d8a0cc06ff5663e3fb5c186e852cd">&#9670;&nbsp;</a></span>crossoverCGA()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::crossoverCGA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aochrom_childC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aichrom_parentA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aichrom_parentB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aomatrixrowt_centroids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE_SUM &gt; &amp;&#160;</td>
          <td class="paramname"><em>aomatrixrowt_sumInstCluster</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; T_INSTANCES_CLUSTER_K &gt; &amp;&#160;</td>
          <td class="paramname"><em>aovectort_numInstClusterK</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00690">690</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00211">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::begin()</a>, <a class="el" href="partition__linked_8hpp_source.html#l00372">ds::IteratorPartitionLinked&lt; T_CLUSTERIDX &gt;::begin()</a>, <a class="el" href="container__out_8hpp_source.html#l00050">inout::containerprint()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00216">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::end()</a>, <a class="el" href="partition__linked_8hpp_source.html#l00384">ds::IteratorPartitionLinked&lt; T_CLUSTERIDX &gt;::end()</a>, <a class="el" href="clustering__operator__centroids_8hpp_source.html#l00608">clusteringop::getCentroids()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00221">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::getGene()</a>, <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="partition__linked_8hpp_source.html#l00407">ds::getPartitionlinked()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00201">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::getString()</a>, <a class="el" href="partition__linked_8hpp_source.html#l00389">ds::IteratorPartitionLinked&lt; T_CLUSTERIDX &gt;::getValue()</a>, <a class="el" href="probability__selection_8hpp_source.html#l00215">prob::getWithoutRepeatsSet()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="nearestinstance__operator_8hpp_source.html#l00035">NEARESTCENTROID_UNKNOWN</a>, <a class="el" href="partition__linked_8hpp_source.html#l00378">ds::IteratorPartitionLinked&lt; T_CLUSTERIDX &gt;::next()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00258">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::print()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00227">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::setGene()</a>, <a class="el" href="clustering__operator__centroids_8hpp_source.html#l00511">clusteringop::setUpCuster()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00182">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::stcgetStringSize()</a>, and <a class="el" href="interface__level1_8hpp_source.html#l00091">interfacesse::swap()</a>.</p>

<p class="reference">Referenced by <a class="el" href="cga__vklabel_8hpp_source.html#l00067">eac::cga_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a5c9d8a0cc06ff5663e3fb5c186e852cd_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a08e44d7c579743d81b7f23d0c09e4414"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08e44d7c579743d81b7f23d0c09e4414">&#9670;&nbsp;</a></span>crossPNNnew()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_FEATURE , typename T_INSTANCE_FREQUENCY , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename T_CLUSTERIDX , typename T_REAL , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::crossPNNnew </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aochromcbga_new</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aichromcbga_old1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aichromcbga_old2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T_CLUSTERIDX&#160;</td>
          <td class="paramname"><em>aicidx_numclusterKToReduce</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00339">339</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="ga__clustering__operator_8hpp_source.html#l00168">merge()</a>, and <a class="el" href="clustering__operator__centroids_8hpp_source.html#l02044">clusteringop::pnnFast()</a>.</p>

<p class="reference">Referenced by <a class="el" href="cbga__fkcentroid_8hpp_source.html#l00477">eac::cbga_fkcentroid()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a08e44d7c579743d81b7f23d0c09e4414_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a394e5de28006937d308d2659683c2cc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a394e5de28006937d308d2659683c2cc6">&#9670;&nbsp;</a></span>kmeansfeac()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename T_COMMON_IDOMAIN , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::kmeansfeac </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_f_e_a_c.html">gaencode::ChromosomeFEAC</a>&lt; T_CLUSTERIDX, T_REAL, T_FEATURE, T_FEATURE_SUM, T_INSTANCES_CLUSTER_K &gt; &amp;&#160;</td>
          <td class="paramname"><em>aochrom_feac</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_COMMON_IDOMAIN&#160;</td>
          <td class="paramname"><em>aiit_kmeansNumMaxIter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_FEATURE&#160;</td>
          <td class="paramname"><em>airt_kmeansMaxDiffCent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01590">1590</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="interface__level1_8hpp_source.html#l00156">interfacesse::axpy()</a>, <a class="el" href="nearestinstance__operator_8hpp_source.html#l00238">nearest::checkNullCentroidsNN()</a>, <a class="el" href="container__out_8hpp_source.html#l00050">inout::containerprint()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00046">interfacesse::copya()</a>, <a class="el" href="instance_8hpp_source.html#l00167">data::Instance&lt; T_FEATURE &gt;::getInfiniteFeature()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00081">mat::MatrixBase&lt; T_FEATURE &gt;::getNumColumns()</a>, <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00076">mat::MatrixBase&lt; T_FEATURE &gt;::getNumRows()</a>, <a class="el" href="matrix__withrownull_8hpp_source.html#l00171">mat::MatrixWithRowNull&lt; T &gt;::getRow()</a>, <a class="el" href="matrix_8hpp_source.html#l00129">mat::MatrixRow&lt; T_FEATURE &gt;::initialize()</a>, <a class="el" href="vector__utils_8hpp_source.html#l00083">vectorutils::keepItems()</a>, <a class="el" href="matrix__withrownull_8hpp_source.html#l00255">mat::MatrixWithRowNull&lt; T &gt;::keepRows()</a>, <a class="el" href="ga__integer__operator_8hpp_source.html#l00058">gaintegerop::labelKeep()</a>, <a class="el" href="nearestinstance__operator_8hpp_source.html#l00035">NEARESTCENTROID_UNKNOWN</a>, <a class="el" href="interface__level1_8hpp_source.html#l00276">interfacesse::scal()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00328">interfacesse::scalInv()</a>, and <a class="el" href="bit__container_8hpp_source.html#l00207">ds::BitContainer&lt; T_BITSIZE &gt;::setBit()</a>.</p>

<p class="reference">Referenced by <a class="el" href="feac__vklabel_8hpp_source.html#l00081">eac::feca_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a394e5de28006937d308d2659683c2cc6_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a3ecbd55894b1ddbc7bf49a22df7cde00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ecbd55894b1ddbc7bf49a22df7cde00">&#9670;&nbsp;</a></span>merge()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_FEATURE , typename T_CLUSTERIDX , typename T_INSTANCE_FREQUENCY , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename T_REAL , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::merge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromcbga_offspring</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromcbga_part1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_c_b_g_a.html">gaencode::ChromosomeCBGA</a>&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromcbga_part2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Merge two chomosomas. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aiochromcbga_offspring</td><td></td></tr>
    <tr><td class="paramname">aiochromcbga_part1</td><td></td></tr>
    <tr><td class="paramname">aiochromcbga_part2</td><td></td></tr>
    <tr><td class="paramname">aiiterator_instfirst</td><td>an InputIterator to the initial positions of the sequence of instances </td></tr>
    <tr><td class="paramname">aiiterator_instlast</td><td>an InputIterator to the final positions of the sequence of instances </td></tr>
    <tr><td class="paramname">aifunc2p_dist</td><td>an object of type <a class="el" href="structdist_1_1_dist.html" title="Generic dist.">dist::Dist</a> to calculate distances </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00168">168</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="partition__linked__stats_8hpp_source.html#l00243">ds::PartitionLinkedStats&lt; T_FEATURE, T_CLUSTERIDX, T_INSTANCE_FREQUENCY, T_INSTANCES_CLUSTER_K, T_FEATURE_SUM &gt;::getMemberShip()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00076">mat::MatrixBase&lt; T_FEATURE &gt;::getNumRows()</a>, <a class="el" href="matrix__resizablerow_8hpp_source.html#l00296">mat::MatrixResizableRow&lt; T_FEATURE, T_WEIGHT &gt;::getRow()</a>, and <a class="el" href="matrix__resizablerow_8hpp_source.html#l00190">mat::MatrixResizableRow&lt; T_FEATURE, T_WEIGHT &gt;::merge()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ga__clustering__operator_8hpp_source.html#l00339">crossPNNnew()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a3ecbd55894b1ddbc7bf49a22df7cde00_cgraph.svg" width="424" height="235"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="abc19797156931b073030d9a58175d0c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc19797156931b073030d9a58175d0c9">&#9670;&nbsp;</a></span>mergeCrossover()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_METRIC &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_METRIC &gt; gaclusteringop::mergeCrossover </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_METRIC &gt; &amp;&#160;</td>
          <td class="paramname"><em>aichrom_parent1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_METRIC &gt; &amp;&#160;</td>
          <td class="paramname"><em>aichrom_parent2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>mergeCrossover <a class="el" href="citelist.html#CITEREF_Agustin:etal:GAclusteringVarK:GGA:2012">[1]</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aichrom_parent1</td><td>a <a class="el" href="classgaencode_1_1_chromosome_g_g_a.html" title="Chromosome encoding two parts.">gaencode::ChromosomeGGA</a> </td></tr>
    <tr><td class="paramname">aichrom_parent2</td><td>a <a class="el" href="classgaencode_1_1_chromosome_g_g_a.html" title="Chromosome encoding two parts.">gaencode::ChromosomeGGA</a> </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00518">518</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="interface__level1_8hpp_source.html#l00046">interfacesse::copya()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00281">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::decrementGroupSecSize()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00142">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::getElementSize()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00254">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::getNumClusterK()</a>, <a class="el" href="probability__selection_8hpp_source.html#l00190">prob::getRandPairUnlikeInOrd()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00201">gaencode::ChromFixedLength&lt; T_CLUSTERIDX, T_METRIC &gt;::getString()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00187">gaencode::ChromFixedLength&lt; T_CLUSTERIDX, T_METRIC &gt;::getStringSize()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00148">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::initializeGroupSec()</a>, <a class="el" href="ga__integer__operator_8hpp_source.html#l00058">gaintegerop::labelKeep()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00358">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::print()</a>, and <a class="el" href="clustering__common_8hpp_source.html#l00016">UNKNOWN_CLUSTER_IDX</a>.</p>

<p class="reference">Referenced by <a class="el" href="gga__vklabel_8hpp_source.html#l00073">eac::gga_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_abc19797156931b073030d9a58175d0c9_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a53fa1eea7173c38da2ce171f83b0d464"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53fa1eea7173c38da2ce171f83b0d464">&#9670;&nbsp;</a></span>mergeMutation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::mergeMutation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromab_toMutate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01019">1019</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="chromosome__gga_8hpp_source.html#l00281">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::decrementGroupSecSize()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00142">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::getElementSize()</a>, <a class="el" href="probability__selection_8hpp_source.html#l00064">prob::getIdxPairUnlikeRoulette()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00254">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::getNumClusterK()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00201">gaencode::ChromFixedLength&lt; T_CLUSTERIDX, T_METRIC &gt;::getString()</a>, <a class="el" href="probability__distribution_8hpp_source.html#l00071">prob::makeDistRouletteWheel()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00358">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::print()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00091">interfacesse::swap()</a>, and <a class="el" href="clustering__common_8hpp_source.html#l00016">UNKNOWN_CLUSTER_IDX</a>.</p>

<p class="reference">Referenced by <a class="el" href="gga__vklabel_8hpp_source.html#l00073">eac::gga_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a53fa1eea7173c38da2ce171f83b0d464_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a76027f1493ad07ff92bdee8e07d05b15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76027f1493ad07ff92bdee8e07d05b15">&#9670;&nbsp;</a></span>MO1() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_INSTANCES_CLUSTER_K , typename T_FEATURE_SUM , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::MO1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromfixlen_toMutate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aomatrixrowt_centroids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE_SUM &gt; &amp;&#160;</td>
          <td class="paramname"><em>aomatrixrowt_sumInstCluster</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; T_INSTANCES_CLUSTER_K &gt; &amp;&#160;</td>
          <td class="paramname"><em>aovectort_numInstClusterK</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MO1 mutation operator <a class="el" href="citelist.html#CITEREF_Hruschka:Ebecken:GAClusteringLabelKVar:CGA:2003">[19]</a>. </p>
<p>It eliminates one selected clusters, placing its objects into the nearest remaining clusters (according to their centroids).To remove a group it is necessary to calculate the centroids associated with the chromosome. The parameters of aomatrixt_meanCentroids, aimatrixtrowt_sumInstancesClusterK, and aovectort_numInstClusterK are returned with the centroid, the sum of instances, and the number of instances per group, respectively. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aiochromfixlen_toMutate</td><td>a gaencode::ChromFixedLength&lt;T_CLUSTERIDX,T_REAL&gt; </td></tr>
    <tr><td class="paramname">aomatrixrowt_centroids</td><td>a MatrixBase&lt;T_CENTROIDS&gt; </td></tr>
    <tr><td class="paramname">aomatrixrowt_sumInstCluster</td><td>a <a class="el" href="classmat_1_1_matrix_base.html">MatrixBase&lt;T_FEATURE_SUM&gt;</a> </td></tr>
    <tr><td class="paramname">aovectort_numInstClusterK</td><td>a std::vector&lt;T_INSTANCES_CLUSTER_K&gt; </td></tr>
    <tr><td class="paramname">aiiterator_instfirst</td><td>an InputIterator to the initial positions of the sequence of instances </td></tr>
    <tr><td class="paramname">aiiterator_instlast</td><td>an InputIterator to the final positions of the sequence of instances </td></tr>
    <tr><td class="paramname">aifunc2p_dist</td><td>an object of type <a class="el" href="structdist_1_1_dist.html" title="Generic dist.">dist::Dist</a> to calculate distances </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01898">1898</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00211">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::begin()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00216">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::end()</a>, <a class="el" href="clustering__operator__centroids_8hpp_source.html#l00608">clusteringop::getCentroids()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00221">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::getGene()</a>, <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00201">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::getString()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="nearestinstance__operator_8hpp_source.html#l00035">NEARESTCENTROID_UNKNOWN</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00258">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::print()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00227">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::setGene()</a>, <a class="el" href="clustering__operator__centroids_8hpp_source.html#l00511">clusteringop::setUpCuster()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00182">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::stcgetStringSize()</a>, and <a class="el" href="interface__level1_8hpp_source.html#l00091">interfacesse::swap()</a>.</p>

<p class="reference">Referenced by <a class="el" href="cga__vklabel_8hpp_source.html#l00067">eac::cga_vklabel()</a>, and <a class="el" href="feac__vklabel_8hpp_source.html#l00081">eac::feca_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a76027f1493ad07ff92bdee8e07d05b15_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a25119300c021923151df355bba35df29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25119300c021923151df355bba35df29">&#9670;&nbsp;</a></span>MO1() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_FEATURE_SUM , typename T_INSTANCES_CLUSTER_K , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::MO1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_f_e_a_c.html">gaencode::ChromosomeFEAC</a>&lt; T_CLUSTERIDX, T_REAL, T_FEATURE, T_FEATURE_SUM, T_INSTANCES_CLUSTER_K &gt; &amp;&#160;</td>
          <td class="paramname"><em>aochromfeac_toMutate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l02191">2191</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="interface__level1_8hpp_source.html#l00156">interfacesse::axpy()</a>, <a class="el" href="nearestcentroids__operator_8hpp_source.html#l00046">nearest::findTwoNearestCentroids()</a>, <a class="el" href="ga__selection_8hpp_source.html#l00063">gaselect::getIdxRouletteWheel()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00081">mat::MatrixBase&lt; T_FEATURE &gt;::getNumColumns()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00076">mat::MatrixBase&lt; T_FEATURE &gt;::getNumRows()</a>, <a class="el" href="matrix__withrownull_8hpp_source.html#l00171">mat::MatrixWithRowNull&lt; T &gt;::getRow()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="matrix__withrownull_8hpp_source.html#l00255">mat::MatrixWithRowNull&lt; T &gt;::keepRows()</a>, <a class="el" href="ga__integer__operator_8hpp_source.html#l00058">gaintegerop::labelKeep()</a>, <a class="el" href="probability__distribution_8hpp_source.html#l00199">prob::linearNormalization()</a>, <a class="el" href="probability__distribution_8hpp_source.html#l00071">prob::makeDistRouletteWheel()</a>, <a class="el" href="ga__integer__operator_8hpp_source.html#l00130">gaintegerop::oneChangelabel()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00276">interfacesse::scal()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00328">interfacesse::scalInv()</a>, <a class="el" href="unsupervised__measures_8hpp_source.html#l03145">um::simplifiedSilhouette()</a>, and <a class="el" href="interface__level1_8hpp_source.html#l00135">interfacesse::sum()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a25119300c021923151df355bba35df29_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a3c99bd6485c6e3a0daf93aa53a97edb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c99bd6485c6e3a0daf93aa53a97edb9">&#9670;&nbsp;</a></span>MO2() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::MO2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chrom_fixed_length.html">gaencode::ChromFixedLength</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromfixlen_toMutate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l02046">2046</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00211">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::begin()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00216">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::end()</a>, <a class="el" href="nearestinstance__operator_8hpp_source.html#l00055">nearest::farthestInstanceFromS1()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00221">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::getGene()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00258">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::print()</a>, and <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00227">gaencode::ChromFixedLength&lt; T_GENE, T_METRIC &gt;::setGene()</a>.</p>

<p class="reference">Referenced by <a class="el" href="cga__vklabel_8hpp_source.html#l00067">eac::cga_vklabel()</a>, and <a class="el" href="feac__vklabel_8hpp_source.html#l00081">eac::feca_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a3c99bd6485c6e3a0daf93aa53a97edb9_cgraph.svg" width="443" height="366"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a90288f6cdf4cbf406d1d5a71080adff1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90288f6cdf4cbf406d1d5a71080adff1">&#9670;&nbsp;</a></span>MO2() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL , typename T_FEATURE , typename T_FEATURE_SUM , typename T_INSTANCES_CLUSTER_K , typename INPUT_ITERATOR &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::MO2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_f_e_a_c.html">gaencode::ChromosomeFEAC</a>&lt; T_CLUSTERIDX, T_REAL, T_FEATURE, T_FEATURE_SUM, T_INSTANCES_CLUSTER_K &gt; &amp;&#160;</td>
          <td class="paramname"><em>aochromfeac_toMutate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instfirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const INPUT_ITERATOR&#160;</td>
          <td class="paramname"><em>aiiterator_instlast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l02589">2589</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="matrix__withrownull_8hpp_source.html#l00310">mat::MatrixWithRowNull&lt; T &gt;::addRow()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00156">interfacesse::axpy()</a>, <a class="el" href="matrix__withrownull_8hpp_source.html#l00181">mat::MatrixWithRowNull&lt; T &gt;::copyRow()</a>, <a class="el" href="nearestinstance__operator_8hpp_source.html#l00055">nearest::farthestInstanceFromS1()</a>, <a class="el" href="matching__matrix_8hpp_source.html#l00776">sm::getConfusionMatrix()</a>, <a class="el" href="ga__selection_8hpp_source.html#l00063">gaselect::getIdxRouletteWheel()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00076">mat::MatrixBase&lt; T_FEATURE &gt;::getNumRows()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="probability__distribution_8hpp_source.html#l00199">prob::linearNormalization()</a>, <a class="el" href="probability__distribution_8hpp_source.html#l00071">prob::makeDistRouletteWheel()</a>, <a class="el" href="partition__label_8hpp_source.html#l00101">partition::PartitionLabel&lt; T_CLUSTERIDX &gt;::print()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00276">interfacesse::scal()</a>, <a class="el" href="unsupervised__measures_8hpp_source.html#l03145">um::simplifiedSilhouette()</a>, <a class="el" href="interface__level1_8hpp_source.html#l00135">interfacesse::sum()</a>, and <a class="el" href="clustering__operator__centroids_8hpp_source.html#l01134">clusteringop::updateClusterCj()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a90288f6cdf4cbf406d1d5a71080adff1_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a182c10ea30b952abe8b98ae7e83f6938"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a182c10ea30b952abe8b98ae7e83f6938">&#9670;&nbsp;</a></span>newChromosome()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_FEATURE , typename T_REAL &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgaencode_1_1_chrom_variable_length.html">gaencode::ChromVariableLength</a>&lt; T_FEATURE, T_REAL &gt; * gaclusteringop::newChromosome </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_FEATURE &gt; &amp;&#160;</td>
          <td class="paramname"><em>aimatrixrowt_minMaxKSegments</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_REAL&#160;</td>
          <td class="paramname"><em>airt_fitnessInitial</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T_REAL&#160;</td>
          <td class="paramname"><em>airt_objetiveInitial</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create new chromosome <a class="el" href="citelist.html#CITEREF_He:Tan:GAclusteringVarK:TGCA:2012">[18]</a>. </p>
<p>Create new chromosome initial values of cluster centers are produced through uniformly random selection in ki segments by hierarchical agglomerative clustering algorithm. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aimatrixrowt_minMaxKSegments</td><td>a matrix with ki segments </td></tr>
    <tr><td class="paramname">airt_fitnessInitial</td><td>real number with value of the fitness initial </td></tr>
    <tr><td class="paramname">airt_objetiveInitial</td><td>real number with value of the function objective initial </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00069">69</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00076">mat::MatrixBase&lt; T_FEATURE &gt;::getNumRows()</a>, <a class="el" href="chromosome__variablelength_8hpp_source.html#l00230">gaencode::ChromVariableLength&lt; T_GENE, T_METRIC &gt;::getString()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="chromosome__variablelength_8hpp_source.html#l00263">gaencode::ChromVariableLength&lt; T_GENE, T_METRIC &gt;::print()</a>, <a class="el" href="chromosome__base_8hpp_source.html#l00124">gaencode::ChromosomeBase&lt; T_METRIC &gt;::setFitness()</a>, and <a class="el" href="chromosome__base_8hpp_source.html#l00108">gaencode::ChromosomeBase&lt; T_METRIC &gt;::setObjetiveFunc()</a>.</p>

<p class="reference">Referenced by <a class="el" href="tgca__vkcentroid_8hpp_source.html#l00176">eac::tgca_vkcentroid()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a182c10ea30b952abe8b98ae7e83f6938_cgraph.svg" width="100%" height="563"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a50fa9f176df103b249d767838b5a044c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50fa9f176df103b249d767838b5a044c">&#9670;&nbsp;</a></span>onePointCrossover()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_GENE , typename T_METRIC &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::onePointCrossover </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html">gaencode::ChromosomeMatrixWithRowNull</a>&lt; T_GENE, T_METRIC &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochrommwrn_child1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html">gaencode::ChromosomeMatrixWithRowNull</a>&lt; T_GENE, T_METRIC &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochrommwrn_child2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00454">454</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="matrix__withrownull_8hpp_source.html#l00153">mat::MatrixWithRowNull&lt; T_GENE &gt;::combination()</a>, <a class="el" href="matrix__withrownull_8hpp_source.html#l00187">mat::MatrixWithRowNull&lt; T_GENE &gt;::getNumRowsMax()</a>, <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>, <a class="el" href="chromosome__withrownull_8hpp_source.html#l00198">gaencode::ChromosomeMatrixWithRowNull&lt; T_GENE, T_METRIC &gt;::print()</a>, <a class="el" href="chromosome__base_8hpp_source.html#l00124">gaencode::ChromosomeBase&lt; T_METRIC &gt;::setFitness()</a>, and <a class="el" href="chromosome__base_8hpp_source.html#l00108">gaencode::ChromosomeBase&lt; T_METRIC &gt;::setObjetiveFunc()</a>.</p>

<p class="reference">Referenced by <a class="el" href="gcuk__vkcentroid_8hpp_source.html#l00072">eac::gcuk_vkcentroid()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a50fa9f176df103b249d767838b5a044c_cgraph.svg" width="100%" height="535"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aaa952213684dbb755ec6d44b3c783f60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa952213684dbb755ec6d44b3c783f60">&#9670;&nbsp;</a></span>randomMutation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_FEATURE , typename T_REAL &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void void gaclusteringop::randomMutation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html">gaencode::ChromosomeMatrixWithRowNull</a>&lt; T_FEATURE, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromatrixwrn_toMutate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Random mutation <a class="el" href="citelist.html#CITEREF_Bandyopadhyay:Maulik:GACVarK:GCUK:2002">[5]</a>. </p>
<p>Each valid position (i.e., which is not ‘::’) in a chromosome is mutated. A number <img class="formulaInl" alt="$\delta$" src="form_13.png"/> in the range [0,1] is generated with uniform distribution. If the value at that position is <img class="formulaInl" alt="$g_i$" src="form_14.png"/>, then after mutation it becomes</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ \cases{ g_i \cdot (1 \pm 2 \sigma ), &amp;\quad $g_i \neq 0$ \cr \pm 2 \sigma, &amp;\quad $g_i = 0$. \cr } \]" src="form_15.png"/>
</p>
<p>The ‘+’ or ‘−’ sign occurs with equal probability.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aiochromatrixwrn_toMutate</td><td>a <a class="el" href="classgaencode_1_1_chromosome_matrix_with_row_null.html" title="Matrix with row null chromosome.">gaencode::ChromosomeMatrixWithRowNull</a> chromosome to mutate </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01120">1120</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="datatype__instance__integer_8hpp_source.html#l00040">DATATYPE_REAL</a>, and <a class="el" href="random__ext_8hpp_source.html#l00063">gmt19937_eng</a>.</p>

<p class="reference">Referenced by <a class="el" href="gcuk__vkcentroid_8hpp_source.html#l00072">eac::gcuk_vkcentroid()</a>.</p>

</div>
</div>
<a id="a68b1581a21d20dc38bb0896acaf380f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68b1581a21d20dc38bb0896acaf380f1">&#9670;&nbsp;</a></span>rearrangedCluster()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CENTROIDS , typename T_REAL &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool gaclusteringop::rearrangedCluster </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_string.html">gaencode::ChromosomeString</a>&lt; T_CENTROIDS, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aochrom_YRearranged</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmat_1_1_matrix_row.html">mat::MatrixRow</a>&lt; T_CENTROIDS &gt; &amp;&#160;</td>
          <td class="paramname"><em>aimatrixrowt_XReferenced</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdist_1_1_dist.html">dist::Dist</a>&lt; T_REAL, T_CENTROIDS &gt; &amp;&#160;</td>
          <td class="paramname"><em>aifunc2p_dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rearranged cluster <a class="el" href="citelist.html#CITEREF_Chang:etal:GAclustering:GAGR:2009">[11]</a>. </p>
<p>For the new population, select the best chromosome as as a refrence, wich other chromosomes might fall into the gene rearrangement if needed </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aochrom_YRearranged</td><td></td></tr>
    <tr><td class="paramname">aimatrixrowt_XReferenced</td><td></td></tr>
    <tr><td class="paramname">aifunc2p_dist</td><td>an object of type <a class="el" href="structdist_1_1_dist.html" title="Generic dist.">dist::Dist</a> to calculate distances </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l01459">1459</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="matrix__base_8hpp_source.html#l00081">mat::MatrixBase&lt; T_FEATURE &gt;::getNumColumns()</a>, <a class="el" href="instance_8hpp_source.html#l00145">data::Instance&lt; T_FEATURE &gt;::getNumDimensions()</a>, <a class="el" href="matrix__base_8hpp_source.html#l00076">mat::MatrixBase&lt; T_FEATURE &gt;::getNumRows()</a>, <a class="el" href="matrix_8hpp_source.html#l00181">mat::MatrixRow&lt; T_FEATURE &gt;::getRow()</a>, <a class="el" href="classgaencode_1_1_chromosome_string.html#a95cc85a28caac393e63c98c6c1f3cde2">gaencode::ChromosomeString&lt; T_GENE, T_METRIC &gt;::getString()</a>, <a class="el" href="matrix_8hpp_source.html#l00129">mat::MatrixRow&lt; T_FEATURE &gt;::initialize()</a>, <a class="el" href="chromosome__base_8hpp_source.html#l00131">gaencode::ChromosomeBase&lt; T_METRIC &gt;::print()</a>, and <a class="el" href="bit__container_8hpp_source.html#l00207">ds::BitContainer&lt; T_BITSIZE &gt;::setBit()</a>.</p>

<p class="reference">Referenced by <a class="el" href="gagr__fkcentroid_8hpp_source.html#l00070">eac::gagr_fkcentroid()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a68b1581a21d20dc38bb0896acaf380f1_cgraph.svg" width="654" height="432"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a935f199f5ca932fbaa301198fcc563f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a935f199f5ca932fbaa301198fcc563f9">&#9670;&nbsp;</a></span>splittingMutation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_CLUSTERIDX , typename T_REAL &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void gaclusteringop::splittingMutation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgaencode_1_1_chromosome_g_g_a.html">gaencode::ChromosomeGGA</a>&lt; T_CLUSTERIDX, T_REAL &gt; &amp;&#160;</td>
          <td class="paramname"><em>aiochromab_toMutate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mutation by cluster splitting <a class="el" href="citelist.html#CITEREF_Agustin:etal:GAclusteringVarK:GGA:2012">[1]</a>. </p>
<p>Mutation by clusters merging it consists of merging two existing clusters, randomly selected, into just one. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">aiochromab_toMutate</td><td>a <a class="el" href="classgaencode_1_1_chromosome_g_g_a.html" title="Chromosome encoding two parts.">gaencode::ChromosomeGGA</a> a mutate </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ga__clustering__operator_8hpp_source.html#l00938">938</a> of file <a class="el" href="ga__clustering__operator_8hpp_source.html">ga_clustering_operator.hpp</a>.</p>

<p class="reference">References <a class="el" href="chromosome__gga_8hpp_source.html#l00142">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::getElementSize()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00254">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::getNumClusterK()</a>, <a class="el" href="chromosome__fixedlength_8hpp_source.html#l00201">gaencode::ChromFixedLength&lt; T_CLUSTERIDX, T_METRIC &gt;::getString()</a>, <a class="el" href="chromosome__gga_8hpp_source.html#l00266">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::increaseGroupSecSize()</a>, <a class="el" href="probability__distribution_8hpp_source.html#l00071">prob::makeDistRouletteWheel()</a>, and <a class="el" href="chromosome__gga_8hpp_source.html#l00358">gaencode::ChromosomeGGA&lt; T_CLUSTERIDX, T_METRIC &gt;::print()</a>.</p>

<p class="reference">Referenced by <a class="el" href="gga__vklabel_8hpp_source.html#l00073">eac::gga_vklabel()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="namespacegaclusteringop_a935f199f5ca932fbaa301198fcc563f9_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 19 2019 08:58:34 for Library Evolutionary Algorithms for Clustering (LEAC) by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
